<?php

/* Copyright (c) 2012 Universidad Del Atlántico

  Autor

  Carlos Fuentes

  /* All rights reserved.

  /* Redistribution and use in source and binary forms, with or without
  /* modification, are permitted provided that the following conditions
  /* are met:
  /* 1. Redistributions of source code must retain the above copyright
  /*    notice, this list of conditions and the following disclaimer.
  /* 2. Redistributions in binary form must reproduce the above copyright
  /*    notice, this list of conditions and the following disclaimer in the
  /*    documentation and/or other materials provided with the distribution.
  /* 3. Neither the name of copyright holders nor the names of its
  /*    contributors may be used to endorse or promote products derived
  /*    from this software without specific prior written permission.

  /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  /* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  /* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  /* PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL COPYRIGHT HOLDERS OR CONTRIBUTORS
  /* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  /* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  /* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  /* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  /* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  /* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  /* POSSIBILITY OF SUCH DAMAGE.


 */

/**
 * Description of URLRouter
 *
 * @author UNIATLANTICO
 */
class URLRouter {

    private $u;
    private $action;

    public function __construct($action) {
        $this->action = $action;
        $this->stablishUser();

        $this->u = new URLParser($action);
        $this->route();
    }

    private function route() {
        include_once 'urlRoutes.php';
        $parsed = $this->u->getParsedURL();
        $firephp = FirePHP::getInstance(TRUE);
        if (array_key_exists($parsed['func'], $routes)) {
            $firephp->log($parsed);
            $this->action["para"] = $parsed['para'];
            $firephp->log($this->action,"action");
            $log = new login($routes[$parsed['func']], $this->action);
            //$log = new login($routes[$parsed['func']], $parsed['para']);
        } else {
            $log = new login($parsed['func'], $parsed['para']);
        }
    }

    private function stablishUser() {
        $_SESSION['usuario'] = isset($_SESSION['usuario']) ? $_SESSION['usuario'] : 7;
        $user = new LoggedUser($_SESSION['usuario']);
        $this->action+=array("session" =>
            !$user->isVisitor() ?
                    array(
                "started" => true) :
                    array(
                "started" => false)
        );
        //$firephp=  FirePHP::getInstance(true);
        //$firephp->log($this->action);
    }

}

?>
